@echo off
REM ========================================
REM 学生请假管理系统 - 开发环境启动脚本
REM ========================================
REM 功能: 初始化数据库 -> 启动后端 -> 启动前端
REM 使用: 双击运行此文件
REM ========================================

setlocal enabledelayedexpansion

echo.
echo ========================================
echo 学生请假管理系统 - 开发环境启动脚本
echo ========================================
echo.

REM 设置脚本所在目录
set SCRIPT_DIR=%~dp0

REM ========================================
REM 检查 Node.js 和 npm
REM ========================================
echo 📋 检查环境...
node -v >nul 2>&1
if errorlevel 1 (
  echo ❌ 未检测到 Node.js，请先安装 Node.js
  pause
  exit /b 1
)

echo ✅ Node.js 和 npm 已安装
echo.

REM ========================================
REM 检查环境变量文件
REM ========================================
echo 🔐 检查环境配置...

if not exist "%SCRIPT_DIR%.env" (
  echo ⚠️  前端 .env 文件不存在，创建默认配置...
  (
    echo VITE_API_BASE_URL=http://localhost:8080/api
  ) > "%SCRIPT_DIR%.env"
  echo ✅ 已创建 .env
)

if not exist "%SCRIPT_DIR%server\.env" (
  echo ❌ 后端 server/.env 文件不存在！
  echo.
  echo 请先创建 server/.env 文件并配置数据库信息:
  echo    DB_HOST=^<your_host^>
  echo    DB_PORT=^<your_port^>
  echo    DB_USER=^<your_username^>
  echo    DB_PASSWORD=^<your_password^>
  echo    DB_NAME=^<your_database^>
  echo    PORT=8080
  echo    NODE_ENV=development
  echo    JWT_SECRET=^<your_jwt_secret^>
  echo.
  pause
  exit /b 1
)

echo ✅ 环境配置检查完成
echo.

REM ========================================
REM 步骤 1: 初始化数据库
REM ========================================
echo 📊 步骤 1: 初始化数据库
echo ----------------------------------------

if exist "%SCRIPT_DIR%server\init-db.js" (
  echo 运行数据库初始化脚本...
  cd /d "%SCRIPT_DIR%server"
  node ../init-db.js
  cd /d "%SCRIPT_DIR%"
  echo ✅ 数据库初始化完成
) else (
  echo ⚠️  初始化脚本不存在，跳过数据库初始化
)

echo.

REM ========================================
REM 步骤 2: 启动后端和前端
REM ========================================
echo 🚀 步骤 2: 启动开发服务
echo ----------------------------------------
echo.

echo 启动后端服务 (localhost:8080)...
cd /d "%SCRIPT_DIR%server"
start "后端服务 - Student Leave System" cmd /k npm run dev

timeout /t 3 /nobreak

echo 启动前端开发服务 (localhost:5173)...
cd /d "%SCRIPT_DIR%"
start "前端开发 - Student Leave System" cmd /k npm run dev

echo.
echo ========================================
echo ✅ 服务已启动！
echo ========================================
echo.
echo 📌 访问地址:
echo    前端: http://localhost:5173
echo    后端: http://localhost:8080
echo    API:  http://localhost:8080/api
echo.
echo 📋 测试账号:
echo    学生: stu1 / 123456
echo    老师: tea1 / 123456
echo    管理员: admin / 123456
echo.
echo 💡 提示: 关闭两个新打开的命令窗口即可停止服务
echo.
echo 按任意键关闭此窗口...
pause >nul

exit /b 0

